# 定义一个普通函数
def add(x, y):
    return x + y


print(add(1, 2))  # 3

# lambda
lam = lambda x, y: x + y
print(lam(1, 2))  # 3

# filter 过滤器,当第一个参数为None时，筛选出第二个参数中 为真 的数据
f = filter(None, [1, 0, 'dylan', False, True])
print(list(f))  # [1, 'dylan', True]

# 将第一个参数设为 筛选依据
f = filter(lambda x: x % 2, range(10))
print(list(f))  # [1, 3, 5, 7, 9]

f = map(lambda x: x ** x, range(10))
print(list(f))  # [1, 1, 4, 27, 256, 3125, 46656, 823543, 16777216, 387420489]
